1. Field of the Invention
The present invention is related to data processing systems and more specifically, to an in-circuit emulator for transferring information between an interrupt producer and an interrupt service environment.
2. Prior Art
An in-circuit emulator (ICE) duplicates and imitates the behavior of a chip it emulates by using programming techniques and special machine features to permit the ICE to execute micro code written for the chip that it imitates.
Because input/output pins are limited, transfer of commands, data, and status information between the emulator and an external system must be done by means of a serial interface.
In the prior art, an emulation processor operates in two execution modes, emulation mode and interrogation mode. Emulation mode is the mode of the emulator which includes real-time event evaluation. Interrogation mode is an interrupt service environment of the emulator. A monitor that is emulation processor code executed during interrogation mode is provided. A break occurs to exit emulation mode to enter interrogation mode and thus invoke the monitor.
Copending patent application Ser. No. 07/985,563 provides an ICE apparatus that will control a number of on-chip break mechanisms externally using only a single input pin. The emulator includes an instruction pointer counter (IP counter) and a break logic connected to the IP counter. The break logic has an arm input and is capable of matching the IP counter to an instruction execution address. Once a cluster is armed by the sequencer, an IP match from the IP marchers that occurs after the cluster is armed results in a break and the emulation stops immediately.
Patent application Ser. No. 07/996,036, now U.S. Pat. No. 5,383,192, granted Jan. 17, 1995 provides an in-circuit emulator that prevents slip between the time a break event occurs and an arm signal arms the emulator to detect the break.
A patch is one or more program statements added to correct code. During emulation mode an interrupt producer (control processor) may perform patching of the monitor code. In the prior art, while the interrupt producer is performing large numbers of monitor patches wait states must be introduced into monitor execution, while the emulation processor is in emulation mode, and a break occurs before the interrupt producer is finished. Since both agents cannot service memory simultaneously, wait states are introduced to cause the emulator to go to a halt state until the interrupt producer is finished patching up the monitor.
It is therefore an object of the present invention to provide a method and apparatus for transferring information between an interrupt producer and an interrupt service environment without inducing wait states.